package com.example.day3.exercise;

import java.util.stream.Stream;

/**
 * takeWhile 与 filter 的区别
 */
public class Exercise2 {
    public static void main(String[] args) {
        // takeWhile是如果一旦条件不成立,流中剩下的元素就都不要了
        Stream<Integer> s1 = Stream.of(1, 2, 3);
        Stream<Integer> s2 = Stream.of(4, 5, 1, 2);

        Stream<Integer> concat = Stream.concat(s1, s2);

        // 此时返回的集合中元素为1,2
        concat.takeWhile(x -> x < 3).forEach(System.out::println); // 1   2

        // 而filter会过滤掉不满足条件的元素
    }
}
